package com.ylr.send.framework.service;

import com.ylr.base.common.dto.PageDto;
import com.ylr.send.common.dto.SmsTemplateFlowDto;
import com.ylr.send.common.vo.SmsTemplateFlowFormVo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ylr.send.framework.entity.SmsTemplateFlowEntity;

import java.util.List;

/**
 * Created by IntelliJ IDEA.
 *
 * @author wyw
 * date: 2023-06-14 21:21:36
 * className: SmsTemplateFlowService
 * version: 1.0
 * description:
 */
public interface SmsTemplateFlowService extends IService<SmsTemplateFlowEntity> {

    /**
     * 保存短信模板流水操作
     * @param channel 短信渠道
     * @param code    编号
     * @param tname   名称
     * @param content 内容
     * @param params  模板预设字段，多个值使用英文逗号分割
     * @param version 版本号
     */
    void saveSmsTemplateFlow(Long smsTemplateId, Integer channel, String code, String tname, String content, String params, Integer version);

    /**
     * 分页查询短信模板流水操作
     * @param smsTemplateFlowFormVo 参数对象
     * @return 短信模板流水分页数据
     */
    PageDto<SmsTemplateFlowDto> pageSmsTemplateFlowList(SmsTemplateFlowFormVo smsTemplateFlowFormVo);

    /**
     * 获取短信模板流水操作
     * @param smsTemplateId 短信模板主键
     * @param version       版本号
     * @return 短信模板流水
     */
    SmsTemplateFlowDto getSmsTemplateFlow(Long smsTemplateId, Integer version);

    /**
     * 删除短信模板流水操作
     * @param idList 主键列表
     */
    void deleteSmsTemplateFlow(List<Long> idList);

}

